This invention relates generally to dynamic connectivity among distributed devices and services, and more particularly relates to adapting host-peripheral connectivity devices and services for access in a peer networking connectivity model, such as in a pervasive computing environment.
The cost of computing and networking technologies have fallen to the point where computing and networking capabilities can be built into the design of many electronic devices in the home, the office and public places. The combination of inexpensive and reliable shared networking media with a new class of small computing devices has created an opportunity for new functionality based mainly on the connectivity among these devices. This connectivity can be used to remotely control devices, to move digital data in the form of audio, video and still images between devices, to share information among devices and with the unconstrained World Wide Web of the Internet (hereafter xe2x80x9cWebxe2x80x9d) and to exchange structured and secure digital data to support things like electronic commerce. The connectivity also enables many new applications for computing devices, such as proximity-based usage scenarios where devices interact based at least in part on geographical or other notions of proximity. A prevalent feature of these connectivity scenarios is to provide remote access and control of connected devices and services from another device with user interface capabilities (e.g., a universal remote controller, handheld computer or digital assistant, cell phones, and the like). These developments are occurring at the same time as more people are becoming connected to the Internet and as connectivity solutions are falling in price and increasing in speed. These trends are leading towards a world of ubiquitous and pervasive networked computing, where all types of devices are able to effortlessly and seamlessly interconnect and interact.
In the above ubiquitous and pervasive networked computing scenarios, the devices desirably can interoperate on an ad hoc peer-to-peer networking connectivity basis. Such a peer networking connectivity model enables any networked device to initiate a communication with any other networked device, without having established a prior relationship or maintaining a persistent relationship between the devices. This peer networking connectivity also allows multiple devices to establish one or more connections with a single device, and it allows for a device to be capable of both initiating and accepting connections to/from other devices.
The prevalent model for device connectivity, however, has been that of host-peripheral connectivity, typified by the personal computer and its many peripheral devices (e.g., data storage drives, user input devices, displays, printers, scanners, etc.) connected via various buses (e.g., PCI, VESA, AGP, Microchannel, ISA, EISA, USB), ports (e.g., serial, parallel), and connectors (e.g., PS/2 connector). This host-peripheral connectivity model is characterized in that the host and peripherals typically have persistent relationships and stable configurations. This persistent relationship is created, by example, through a set-up and configuration process through which appropriate driver software is installed onto the host for use in controlling the peripheral, and updating the host""s configuration to include peripheral device settings. Such persistent configured relationships with a user installation/configuration experience are generally inappropriate to the ubiquitous and pervasive computing environment where portable and mobile devices desirably can instantly connect and interact with other computing devices in their environment without having established prior or persistent relationships.
Nevertheless, given the large number of legacy devices that exist in host-peripheral connectivity models, the devices capable of peer networking connectivity in a ubiquitous and pervasive computing environment will desirably also be able to interact on the same peer networking connectivity basis with such legacy peripheral devices. However, these legacy peripheral devices are designed and equipped only to connect with a host on a host-peripheral connectivity basis, and lack the necessary support (e.g., networking hardware and software) for peer networking connectivity.
In accordance with a technology described herein, peripheral devices connected with a host via host/peripheral connectivity are exposed in a device control model as peer devices having peer networking connectivity. A peer networking-to-host/peripheral connectivity adapter, which may be implemented as a set of software modules running on a host, operates to convert between a device control protocol with peer networking connectivity and a host/peripheral connectivity protocol (or protocols) for a set of host-connected peripheral devices. The adapter, in effect, operates virtually as a set of controlled devices in the device control protocol, which respond to communication in the device control protocol from other peer devices that are networked with the host. The adapter converts the device control protocol communications from the peer devices into the peripheral devices"" respective host/peripheral protocol for controlling the peripheral devices. The adapter also converts communications in the respective host-peripheral protocol from the peripheral devices into the device control protocol with peer networking connectivity. Accordingly, the peer networking-to-host/peripheral connectivity adapter exposes the operational functionality of the peripheral devices to use from other peer networking devices via the device control protocol. Alternatively, the adapter also may operate for peripheral devices that provide a user interface as a user control point that converts communications from the devices in the respective host/peripheral protocol into the device control protocol with peer networking connectivity to control other peer networking connectivity devices.
In an implementation described herein, the peer networking-to-host/peripheral adapter acts as an addressable device having the operational functions and services of a corresponding peripheral device. The adapter is addressable to establish a connection via a peer networking connectivity, device control protocol by other peer devices that are networked with the adapter. The adapter further supports discovery of the addressable device""s operational functions by the other peer devices using the device control protocol, through the exchange of structured data messages (e.g., XML format data). The adapter also supports control of the addressable device""s operational functions by the other peer devices, again through structured data messages according to the device control protocol. The adapter provides the controlled operational functions by converting the device control protocol messages into communications with the corresponding peripheral device in a host/peripheral connectivity protocol.
According to a further aspect of the invention, the adapter is automatically installed and configured for a peripheral device by host operating software along with device-specific driver software upon connecting or xe2x80x9cpluggingxe2x80x9d the peripheral device into the host, for example, as part of a xe2x80x9cplug-and-playxe2x80x9d peripheral device installation sequence. At the time of connecting the peripheral device into the host or during a boot-up sequence of the host operating software, the host operating software detects that a new peripheral device has been connected; and automatically selects or prompts the user to select and then installs an appropriate device driver for the new peripheral device. The host operating software also automatically installs a peer networking-to-host/peripheral adapter, which exposes the peripheral to control from peer networking devices that are networked to the host and optionally permits control of peer networking devices from the peripheral.
Additional features and advantages will be made apparent from the following detailed description of the illustrated embodiment which proceeds with reference to the accompanying drawings.